export default {
    /***
     * 加密 （加密的密钥需要配合加密密钥相同才能解密）
     * @param word 需要加密的信息
     * @param keyStr 16位的密钥 加密的密钥(可选) 默认：abcdefghijklmnop
     * @returns {string} 密文
     */
    set(word, keyStr='bcdefghijklmnopa'){
        let key  = CryptoJS.enc.Utf8.parse(keyStr);
        let srcs = CryptoJS.enc.Utf8.parse(word);
        let encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
        return encrypted.toString();
    },

    /***
     * 解密
     * @param word 需要解密的密文
     * @param keyStr 解密的密钥 (可选) 默认：和加密密钥默认钥相同
     * @param lsName 需要加密的localStorage的Key名
     * @returns {string} 正常字符串
     */
    get(word, lsName, keyStr='bcdefghijklmnopa'){
        try {
            let key  = CryptoJS.enc.Utf8.parse(keyStr);
            let decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
            let desObj = CryptoJS.enc.Utf8.stringify(decrypt);
            return desObj.toString();
        }catch (e) {
            console.log(e);
            //防止用户恶意修复缓存数据 如修改则清除
            localStorage.removeItem(lsName);
            return "{}"
        }

    }

}
